home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr49
/
tranx0d.zip
/
TRANX0D.DOC
< prev
next >
Wrap
Text File
|
1995-02-23
|
21KB
|
424 lines
TranX - System to system CMOS clock syncronizer - version 0.D
What's new in this version?
1 File Sharing support added, no more file copying
2 TranX uses Bios screen writes rather than Direct
If you are upgrading from versions prior to 0.C
┌── ──┐
│ BinkleyTerm, FrontDoor and The Box logs are supported │
│ │
│ Notice! BinkleyTerm 2.58 breaks TranX 0.1 │
│ The additional information containing the │
│ Seconds: / Tariff: /Fee: and System: from │
│ the log foils TranX when parsing the file │
│ │
│ -t won't allow system time to be set ahead beyond midnight │
│ -y won't allow system time to be set back before midnight │
│ -a<value> add to remote system's time (DST/Time_Zone) │
│ -s<value> subtract from remote's time (DST/Time_Zone) │
│ -m<value> maximum time difference to be allowed from remote │
│ │
│ more command line switches, just in case.. │
│ │
│ -*<tranxkeyword> * Option " Tranx: " search. ie " Trx#: " * │
│ -[<value> Maximum allowable clock change forward * │
│ -]<value> Maximum allowable clock change reverse * │
│ -@<char> delimeter to look for between tranx hex strings * │
│ -e<endsrch> * end session search when <endsrch> is found * │
│ -x<stpsrch> * stop session search when <stpsrch> is found * │
│ │
│ Be careful to read the section on these new features! │
└─ ─┘
If you are upgrading from version 0.C
The -d switch has been removed. TranX uses file sharing instead.
This means faster execution, less memory used and tighter code..
DEFINITION
TranX borrows its name from the Emsi information passed between two
mail systems which keep a log wherein the keyword Tranx: appears...
What follows this keyword is the seconds from 0 GMT (in hex) which
have passed since the beginning of 1970.
0 Greenwich Mean Time is the standard computers use to keep time
internally. The program TranX, uses this information to compare the
time of the remote system to the time on the resident computer. By
doing some calculations and a low DOS function, the CMOS time on the
resident computer may be adjusted to match that of the remote.
Systems lose time for a variety of reasons. This can be attributed
the hardware, multitasking or the use of programs which demand the
computer's entire attention such as games.
TranX clock updating is not 100 % accurate. Correctness depends on
the speed at which both systems report the Tranx: value during a
session. Meaning, the time the clocks were actually read and then
reported. Also the subsequent operation of TranX.exe afterwards
affects the results. The cmos updating can be skewed by as much as
several seconds. Ideally the mailer software would read its clock
and immediately send that information to the remote system and visa
versa. I don't know if this is the case or not. I do know that a
few functions must happen in the TranX.exe between the time the
system clock is read until it issues an update from the information
previously read from the mailer log and the system clock. Generally
these functions should take very little time but they do add to the
potential for error. In conjunction with disk speed and possible
multitask operations, seconds can elapse between what is reported
and what actually takes place.
The smaller the log file TranX has to read the more quickly it
can operate. However, this does not affect the accuracy of the
clock change.
In the examples, angular brackets <> signify a required parameter.
Square brackets [] indicate that the parameter is not necessarily
required. The brackets themselves are not to be used.
Usage:
TranX <remote_ID> [log file] [/o<srch> [/q] [/n] /L<trnx.log>] [?]
TranX Joe_Sysop fd.log /oJane_Sysop /q /n /Lkeeper.log /s7200
TranX ?
In its simplest form:
TranX <remote_ID>
In its simplest form with most switches:
TranX <remote_ID> /n /L /q /t /y /m7150 /a3600 /e_RING
TranX <remote_ID> /n /L /q /t /y /m7150 /s3600 /e_BINK_Connect_
The term "object" in this document refers to something in the log
file which can be identified as a character, word or sentence. An
object can contain up to 79 characters.
Choosing a Remote Identifier
An object which appears more than once within an individual
mail session is not a good choice for a remote identifier.
NOTE: Use the remote's SYSTEM name whenever possible. The next
best option is the SYSOP's name, providing it is will be
unique in your log. Using the remote system's address is
not the best choice because it can appear more than once
within a mail session. Currently TranX handles this but
mailer log files in the future may change that. See the
notes on using the -e<srch> and -x<srch> options.
TranX needs 3 pieces of information (objects) from the mailer log
─────────────────────────────────────────────────────────────────
1 - An object which always appears in the log from the system you
wish to set your clock to. This object must appear before the
second object.
2 - Tranx: must appear in the mailer log AFTER the beginning search
object. Binkley and Front Door both provide this object. It is
followed by two hex numbers separated by a space, slash, space.
As of this version, TranX will accept another tranxkeyword by
using the -*<tranxkeyword> on the command line. Details follow.
3 - A session end object such as _BINK_Ring or _RING. This tells
TranX to cease its search for object #2 and signals TranX that
it has reached the end of a mail session within the log.
NOTE: Object #2 does not appear in the binkley log below loglevel 3
Ring does not appear below loglevel 4. However you can tell
TranX to accept up to 2 other objects which appear after
object #2. Currently the defaults appear to be adequate for
Binkley at loglevel 4 and Front Door. There are two command
line switches followed by a search string which add to the
default mail session limiter list.
TranX requires at least one command line parameter. It could be the
sysOps' name or the name of a system. It must be unique to in your
log so TranX will not be fooled into setting your clock to the wrong
system. The search object is case sensitive CHRIS_MANN is different
than Chris_Mann. If the search string has embedded spaces, use the
underscore where the spaces would be. Otherwise TranX will interpret
the spaces to be an additional command line parameter. Don't worry
about literal underscores unless the search object(s) contain both
underscores and spaces. Otherwise TranX will interpret them correctly
in the search.
Here are some simple examples using TranX, others are elsewhere
throughout this document:
TranX Lost_in_the_cartoon
TranX Chris_Mann
TranX Chris_Mann_from_Akron,_OH e:\mailer\fdlog.tue
TranX BINK_SysOp_Chris_Mann /n
The first three would net the same result on my system. The forth
would run and display the progress but forego the CMOS clock update
because of the /n switch (which can serve as a test). Example three
specifically looks for a file named fdlog.tue to read. If not found
the program will abort. If no logfile is specified TranX will look
for 4 mailer log files by default in the following order.
binkley.log
mailer.log
fd.log
box.log
If no log file is specified and none of the four can be found, TranX
will abort. You can use just about anything on the command line and
TranX will happily try to process the parameters supplied. Be sure
you have your parameters in the correct order.
Once again it is TranX <remote_ID> [search.log] [/or- switches]
The primary search object must be specified first and the search
log (if not one of the defaults) must be supplied second.
You may also tell TranX to create a log file of its activity (it's
a good idea to use the /L and the /n switches to begin with).
TranX Lost_in_a_cartoon c:\bt\Bink.log /Lc:\logs\tranx.log /q
This will search BINK.LOG for the the object "Lost in a cartoon"
(without the quotes) and send a report to c:\logs\tranx.log in
the quiet (no screen display) mode.
Using the /L with nothing following, defaults to Tranx.log in the
current directory. You should probably use the /L switch at least
for a time in order to be certain TranX is doing what you want.
NOTE: Do not prefix the primary or secondary search_object nor the
search logfile with a switch symbol of / or -.
Another command which requires a switch (- or /) is the quiet mode
- /q. You can tell TranX to be quiet by placing /q on the command
line AFTER the search criteria (address, sysOp, system_name etc.).
example: TranX James_Young /q
TranX 221B_Baker_Street c:\bt\binkley.log /q
This keeps TranX from printing anything to the screen.
You may print the output to a file or device or to an existing log
by redirecting output with the dos redirect symbols >>. Be aware
that file sharing may come into play. An option to redirecting
screen output is to use the /L option already mentioned in this
document.
Syntax: TranX <Remote_ID> fname or TranX <Remote_ID> >> fname
Example: TranX Patriot_BBS >> TranX.Log
Another command requiring a switch is /o followed by a secondary
search criteria. If for some reason you want your system to be
updated when TranX finds an additional entry in the mailer log
file, you may specify that by using the optional search parameter.
Example: TranX Chris_Mann /oAkron_Echo_Hub
This would have TranX update the CMOS clock to a system which
sends one or the other (Chris Mann or Akron Echo Hub) in the Emsi
connect. The last one found will be the system the CMOS clock
gets set to.
TranX will only update the CMOS clock if a newer update is found in
the log file. This is accomplished by storing the latest tranx time
from the remote in a file named lastclok.fil. Leave this file alone
as the loss of it may cause your system to advance or retard time
in the CMOS clock to something you do not want. However, subsequent
runs of TranX should correct the error unless lastclok.fil is
missing on a regular basis.
Case insensitive command line switches (are preceded by / or -)
/q quiet mode (no video output)
/L<tranx.log> or any name you choose - /L defaults to tranx.log
/n NoWrite mode (CMOS time will not be updated)
/o<secondary_search_object> TranX can search for two remote_IDs
/y same day or later safety switch for event sensitive systems
/t same day or earlier safety switch for event sensitivity
/a3600 Adds 1 hour to the remote's time for time zone adjustment
/s7200 Subtracts two hours from remote's time for the same reason
/m3500 Remote's acceptable limit difference, otherwise no change
/e<endsrch> Allows a command line session search limit object
/x<stopsrch> Allows an additional session search limit object
/*<trxword> Option to Tranx: search. Example /*_Trx#:_ (The BOX)
/[<value> Maximum allowable clock change forward
/]<value> Maximum allowable clock change reverse
/@- delimeter to expect between tranx hex strings other than /
Please note that the forward slash '/' or hyphen '-' is used for
command line switches and NOT the backslash '\'. The only use for
the backslash is to define where the mailer logfile (which is the
2nd parameter) and the path of the tranx log but only after it
has been called using /L<filepath> ala dos syntax.
The /N switch automatically comes ON if the /M<value>, /[<value>
or the /]<value> is exceeded and/or the /Y and /T switches are used
and TranX detects a date rollover in the direction prohibited by
the respective switch(es). You can use the /T and /Y together to
insure your system will not be updated if a date change would be
invoked before your system changes the date on its own.
The /M<value>, /[<value> and /]<value> are there for time zone
and day light savings time adjustments as well as protection in
case the remote's clock takes an unreasonable jump. ie if the CMOS
setup on the remote were to be lost its clock will go back to
January 1st 1980, quite an undesirable situation..
The /M<value> will override a /[<val> or /]<val> if the /M<val>
is greater than one of the other update limiters.
*** The /E and /X <end_session_search> command line switches ***
In default mode, your log MUST contain the following objects when
your phone rings AND when your systems polls another system;
for binkley
" BINK Ring")!
" BINK Dialing "
for front door
" RING"
" Calling "
By default TranX will know to stop searching a session for the
Tranx: information by one of the objects shown above. It is
critical that TranX find the respective end of session objects!
You can add up to two more session limit search objects if needed;
/e<end_session_search>
/x<stop_session_search>
All search objects must be case correct!
Examine the edited binkley log example below and notice how TranX
determines it has reached the end of the specifed session for a
clock update. Keep in mind the default end_of_search objects..
BINK Ring <▓ END_OF_SEARCH object
BINK Connect 14400/Arq/V42B
BINK Lost in the cartoon, Chris's point. (1:157/534.30@fidonet)
BINK Aka: 100:1/1@eaglenet 8:1006/0.30@fmlynet
BINK Remote Uses BinkleyTerm 2.58/(Esc 1.70)
BINK SysOp: Chris Mann from Akron, OH <▓ START_SEARCH object <──┐
BINK Tranx: 2D092162 / 2D092163 <▓ Tranx time sync info │
BINK Session method: ZedZap │
BINK CPS: 1092 (1092 bytes) Efficiency: 75% │
BINK Sent-Z/32 D:\Bt\Out\009d0216.pnt\0000ffe2.sa0 │
BINK CPS: 1583 (56988 bytes) Efficiency: 109% │
BINK Sent-Z/32 D:\NODEDIFF\FMLYLIST.A44 │
BINK CPS: 670 (1341 bytes) Efficiency: 46% │
BINK Sent-Z/32 D:\TICK\TK104442.tic │
BINK End of WaZOO/EMSI Session │
BINK Seconds: 59 Tariff: 0 Fee: 0 System: 1:157/534.30@fidonet │
│
BINK Processing node 1:157/516@fidonet -- Project Thunder │
BINK Dialing 677-9336&N3 <▓ END_OF_SEARCH object <─┘
BINK Ringing
BINK Connect 14400/Arq/Mnp4
BINK Project Thunder (ssci) (1:157/516@fidonet)
BINK Aka: 8:1006/40@fmlynet
BINK Remote Uses BinkleyTerm 2.58/(UNREGISTERED)
BINK SysOp: Kevin Benton from Stow, OH
BINK Tranx: 2D12AE41 / 2D12AFA4
BINK Session method: ZedZap
BINK Nothing to send to 8:1006/40@fmlynet
BINK End of WaZOO/EMSI Session
BINK Seconds: 12 Tariff: 5 Fee: 120 System: 1:157/516@fidon
TranX SysOp:_Chris_Ma d:\max\max.log /e_Processing_ /xBINK_Ringing
The command line above does the following;
TranX will open the file d:\max\max.log and search it until the
beginning object "SysOp: Chris Ma" is found. Once located, TranX
will scan for the object " Tranx:" UNTIL it has found any of the
default ending objects or the specified "BINK_Processing_" OR
"BINK_Ringing" is found. If the word "Tranx:" isn't found between
the four objects, TranX continues by once again searching the log
for the beginning object AFTER it has located any one of the 4
session end objects (two defaults and two command line). This
process continues until the end of the file is reached.
With the /e<end_search> and /x<end_search> features, TranX offers
some level of flexibility to its hard coded defaults. Hopefully
you do not connect to a system which uses one of the defaults in
their system identification line. Connecting to a mailer which
has a name like "The Calling Card" will cause TranX to fail the
Tranx: search on that particular system every time..
As always, you must replace spaces with underscores. If literal
underscores are in the ending search object, TranX still handles
it correctly because TranX tests an object in both formats. The
caveat here is an object which contains both space(s) and under-
score(s). If this is the case, choose another search object which
doesn't contain both.
.................................................................
Here's an extensive example using TranX:
TranX Express f:\fd\fd.log /oEcho_Hu /n /Ld:\logs\tranx.log /q
TranX should search for "Express" in the log found on drive f: in
the subdirectory \fd. It should also search for "Echo_Hu" in the
same file. A log of activity is to be created or appended to, on
drive d: in the subdirectory \logs in the file tranx.log. The
CMOS clock is NOT to be updated (/n) and there is to be no output
to the screen (/q).
The example would be a little useless in that the log would be
searched and a report would be sent to d:\logs\tranx.log. No
update would be performed and nothing would be echoed to the
screen.
The version 0.1 added parameters (samples).
TranX John_Burden /oMail_Centre /t /s28800
This would search for "John Burden" and "Mail Centre" in one of
the default mail logs and adjust the resident system clock to
the remote system (Mail_Centre) taking into consideration an 8
hour time difference (s/28800). TranX would take care not to
reset the clock forward into the next day (/t)..
TranX Ian_Smith /a50400 /q /m54060
This would search for Ian Smith, add 14 hours to the value found
from his system and disable any screen output while never allow-
ing a difference of more than one hour and one minute after the
/a<value> factor)..
When to run TranX?
After a mail transaction, a scheduled event, virtually anytime.
Where to run TranX?
From the command line or a batch file.
────────────────────────────────────────────────────────────────
TranX is free but it is not to be packaged with other software
without the author's consent. Nor may other software be packaged
with Tranx. If it is to be distributed, the archive must contain
this document (tranx.doc) and original unaltered executable.
Use TranX at your own risk. The author takes NO responsibility
for any possible damage which could occur due to its use. If you
are skeptical about the safety of using this program and do not
wish to take precautionary measures to insure TranX will do no
damage, then do not use it.
Acknowledgement, comments and suggestions of a constructive
nature are appreciated. Please send them to:
Glen Gilbert 8:1006/0@fmlynet
8:70/101@fmlynet (HelpNet)
1:157/534@fidonet
440:130/534 IGA_Net
(216)628-4860 data/fax - USRobotics V.Everything
Thanks to;
Chris Mann, Jim Ball and David Kanavy for testing TranX.
Ian Smith and Steve Gove for their (implemented) suggestions.
James Young for clock set accuracy testing. Arno Kromdijk
for a portion of his "The_Box" log, so it could be supported.